由於 AOSP 太過龐大,不能只用一個 git 專案管理,所以 AOSP 其實被切成約 500 個 git 專案。而為了確保這 500 個專案間的版本能協調一致,Google 官方就用 Python 寫了一個工具叫 repo 來協調各個專案。
repo 的設計是用一張 manifest.xml 描述所有 git 專案的位置和版本號。這樣就可以確保不同 git 專案之間不會發生彼此版本不相容的問題。
先看TADSG/aosp-study,然後官方文檔有相對更新:
Android 2.3.x (Gingerbread) 及更高版本需要 64 位環境,包括 master 分支。您可以在 32 位系統上編譯舊版本。
至少有 250GB 的可用磁盤空間來檢查代碼和額外的 150GB 來構建它。如果您進行多次構建,則需要額外的空間。
注意:如果您要檢出鏡像,則需要更多空間,因為完整的 Android 開源項目 (AOSP) 鏡像包含曾經使用過的所有 Git 存儲庫。
至少需要 16 GB 的可用 RAM,但 Google 建議使用 64 GB。
截至 2021 年 6 月,Google 在內部使用 72 核機器和 64 GB RAM,完整構建大約需要 40 分鐘(增量構建只需幾分鐘,具體取決於修改了哪些文件)。相比之下,具有相似 RAM 量的 6 核機器需要 3 個小時。
然後警告:不支持在 Windows 或 MacOS(截至 2021 年 6 月 22 日)上構建。
2021年的android版本出到12,在macOS上還可以繼續編譯android 10-12,但13目前唯一支援Ubuntu LTS,目前是建議在ubuntu 18上開發
我覺得我可以先用android 12
需求條件 - aosp官方
Mac AOSP 源码下载、编译、踩坑记录
Where can I find Android source code online? [closed]
reference:
為什麼 Android 比 iOS 需要更多的 RAM?